package com.example.demo.question4;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.Date;

@Service
public class ScheduledTaskService {
    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    private Integer count1 = 1;
    private Integer count2 = 1;
    private Integer count3 = 1;
    // 1、使scheduledTask1方法实现：每隔5秒重复执行一次定时任务
    public void scheduledTask1() throws InterruptedException {
        System.out.println(String.format("fixedRate第%s次执行，当前时间为：%s", count1++, dateFormat.format(new Date())));
        Thread.sleep(2000);
    }
    // 2、使scheduledTask2方法实现：在上一次任务执行完毕后5秒，重复执行下一次任务
    public void scheduledTask2() throws InterruptedException {
        System.out.println(String.format("fixedDelay第%s次执行，当前时间为：%s", count2++, dateFormat.format(new Date())));
        Thread.sleep(2000);
    }
    // 3、使scheduledTask3方法实现：每天晚上11点半执行任务
    public void scheduledTask3(){
        System.out.println(String.format("cron第%s次执行，当前时间为：%s",count3++, dateFormat.format(new Date())));
    }

}
